package org.example3;

import java.lang.reflect.Method;

/**
 *  仔细体会下面的例子
 *  对于继承的类,通过平常的new对象,可以正确的调用父类中的方法.
 *  但是,如果通过反射,得到 Method对象,然后 invoke,却不能调用父类中的方法.
 */
public class AppExtendsTest {
    public static void main(String[] args) throws Exception{

        Son son = new Son();

        son.show1();
        son.show2();
        System.out.println("---------------------------");

        Thread.sleep(20);

        Method show1 = son.getClass().getDeclaredMethod("show1");
        show1.invoke(son);

        Method show2 = son.getClass().getDeclaredMethod("show2");
        show2.invoke(son);

    }
}
